package com.cjq.system.service;

import com.cjq.system.domain.SysShop;

import java.util.List;

/**
 * 商店信息 服务层
 *
 * @author ruoyi
 */
public interface ISysShopService
{
    /**
     * 查询商店信息集合
     *
     * @param shop 商店信息
     * @return 商店列表
     */
    public List<SysShop> selectShopList(SysShop shop);

    /**
     * 查询所有商店
     *
     * @return 商店列表
     */
    public List<SysShop> selectShopAll();

    /**
     * 通过商店ID查询商店信息
     *
     * @param shopId 商店ID
     * @return 角色对象信息
     */
    public SysShop selectShopById(Long shopId);

    /**
     * 根据用户ID获取商店选择框列表
     *
     * @param userId 用户ID
     * @return 选中商店ID列表
     */
    public List<Long> selectShopListByUserId(Long userId);

    /**
     * 校验商店名称
     *
     * @param shop 商店信息
     * @return 结果
     */
    public boolean checkShopNameUnique(SysShop shop);

    /**
     * 校验商店编码
     *
     * @param shop 商店信息
     * @return 结果
     */
    public boolean checkShopCodeUnique(SysShop shop);

    /**
     * 通过商店ID查询商店使用数量
     *
     * @param shopId 商店ID
     * @return 结果
     */
    public int countUserShopById(Long shopId);

    /**
     * 删除商店信息
     *
     * @param shopId 商店ID
     * @return 结果
     */
    public int deleteShopById(Long shopId);

    /**
     * 批量删除商店信息
     *
     * @param shopIds 需要删除的商店ID
     * @return 结果
     */
    public int deleteShopByIds(Long[] shopIds);

    /**
     * 新增保存商店信息
     *
     * @param shop 商店信息
     * @return 结果
     */
    public int insertShop(SysShop shop);

    /**
     * 修改保存商店信息
     *
     * @param shop 商店信息
     * @return 结果
     */
    public int updateShop(SysShop shop);
}
